home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
vrs501.zip
/
VRS-M80.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-08
|
8KB
|
357 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
String STRING001
String STRING002
String STRING003
String STRING004
;------------------------------------------------------------------------------
Goto LABEL001
End
If (0 == 0) STRING001 = "NO"
If (0 == 1) STRING001 = "YES"
EndFunc
:LABEL001
Cls
StartDisp 1
If (Exist(PPEPath() + "ARMOR.DBF")) Goto LABEL002
Copy PPEPath() + "ARMOR.VRS", PPEPath() + "ARMOR.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New Armor Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (2 * 182) / 10
:LABEL002
If (Exist(PPEPath() + "WEAPONS.DBF")) Goto LABEL003
Copy PPEPath() + "WEAPONS.VRS", PPEPath() + "WEAPONS.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New Weapons Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (2 * 182) / 10
:LABEL003
If (Exist(PPEPath() + "USER.DBF")) Goto LABEL004
Copy PPEPath() + "USER.VRS", PPEPath() + "USER.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New User Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (2 * 182) / 10
:LABEL004
If (Exist(PPEPath() + "MUTANT.DBF")) Goto LABEL005
Copy PPEPath() + "MUTANT.VRS", PPEPath() + "MUTANT.DBF"
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B New Mutant Database Created!@POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Delay (2 * 182) / 10
:LABEL005
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
PrintLn "@X40│@X4B Rebuilding Configuration Database @POS:79@@X4C│@X0F"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────@X4C┘@X0F"
Newline
If (!Exist(PPEPath() + "VRS.DBF")) Call PPEPath() + "VRS-M81.PPE"
STRING004 = String(Date())
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E DAILY MAINTENANCE @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1B Getting Date Information @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
DCloseAll
DOpen 0, PPEPath() + "VRS.DBF", 0
DTop 0
INTEGER002 = ToInteger(DGet(0, "DDELETE"))
DGet 0, "R_BATS", INTEGER004
DGet 0, "PL_BATS", INTEGER005
DGet 0, "LOTTO", INTEGER007
DPut 0, "MAINT", ToInteger(Date())
If (INTEGER007 == 0) INTEGER007 = 2500
DPut 0, "LOTTO", INTEGER007 * 2
DCloseAll
DOpen 4, PPEPath() + "WEAPONS.DBF", 0
DnCreate 4, PPEPath() + STRING004 + ".NDX", "NUMBER"
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E DAILY MAINTENANCE @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1B Getting User Information @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
DOpen 0, PPEPath() + "USER.DBF", 0
Newlines 2
For INTEGER001 = 2 To DRecCount(0)
Backup 80
ClrEol
DGo 0, INTEGER001
Print "@X0E Updating user @X0A:@X03 ", Trim(DGet(0, "HANDLE"), " "), "@X0F"
STRING002 = Trim(DGet(0, "NAME"), " ")
DPut 0, "TRAINED", "N"
DPut 0, "ONLINE", 0
If ((DGet(0, "WEAPN1") < 1) && (DGet(0, "WEAPN2") > 1)) Then
DFCopy 0, "WEAPN1", 0, "WEAPN2"
DFCopy 0, "WEAPT1", 0, "WEAPT2"
DFCopy 0, "WEAPA1", 0, "WEAPA2"
DFCopy 0, "WEAPD1", 0, "WEAPD2"
DPut 0, "WEAPN2", 0
DPut 0, "WEAPT2", "NONE"
DPut 0, "WEAPA2", 0
DPut 0, "WEAPD2", 0
Endif
If (DGet(0, "WEAPN2") < DGet(0, "S_W_NUMBER")) Then
DFCopy 0, "WEAPN2", 0, "S_W_NUMBER"
DFCopy 0, "WEAPT2", 0, "S_W_NAME"
DFCopy 0, "WEAPA2", 0, "S_W_AMMO"
DFCopy 0, "WEAPD2", 0, "S_W_DAMAGE"
DPut 0, "S_W_NUMBER", 0
DPut 0, "S_W_NAME", "NONE"
DPut 0, "S_W_AMMO", 0
DPut 0, "S_W_DAMAGE", 0
Endif
If (ToInteger(Date() - ToInteger(DGet(0, "L_DATE"))) > INTEGER002) Then
DDelete 0
FOpen 7, PPEPath() + "SYSOP." + String(PcbNode()), 2, 0
FPutLn 7
FPutLn 7, "VRS - Informational Message! Read and DESTROY immediately!"
FPutLn 7, "-----------------------------------------------------------"
FPutLn 7, "You have been automatically removed from the roles of VRS! "
FPutLn 7, "This action was caused by your being A.W.O.L. "
FPutLn 7, "(Absent With Out Leave). You can be reinstated again by "
FPutLn 7, "joining the active mission NOW! "
FPutLn 7
FPutLn 7, "Transmission authorized by VRS-COMM-PAK / EOT "
FPutLn 7
FPutLn 7, "VRS - Informational Message! Read and DESTROY immediately!"
FClose 7
Message 0, STRING002, "VRS-COMM-PAK", "AWOL ALERT!", "R", 0, 0, 0, PPEPath() + "SYSOP." + String(PcbNode())
Delete PPEPath() + "SYSOP." + String(PcbNode())
Endif
DGet 0, "CRY_DATE", INTEGER003
DGet 0, "VITALITY", STRING003
If (STRING003 == "C") Then
If (INTEGER003 > 0) DPut 0, "CRY_DATE", INTEGER003 - 1
If (INTEGER003 == 0) DDelete 0
FOpen 7, PPEPath() + "SYSOP." + String(PcbNode()), 2, 0
FPutLn 7
FPutLn 7, "VRS - Informational Message! Read and DESTROY immediately!"
FPutLn 7, "-----------------------------------------------------------"
FPutLn 7, "You have been automatically removed from the roles of VRS! "
FPutLn 7, "This action was caused by your CRYO-CUBE malfunctioning, "
FPutLn 7, "This action only occurs on CRYO-Suspension extended leaves."
FPutLn 7, "You may rejoin the active mission, but since you have been "
FPutLn 7, "killed in Cryo-Suspension, you will start at the lowest "
FPutLn 7, "rank (private). "
FPutLn 7
FPutLn 7, "Transmission authorized by VRS-COMM-PAK / EOT "
FPutLn 7
FPutLn 7, "VRS - Informational Message! Read and DESTROY immediately!"
FClose 7
Message 0, STRING002, "VRS-COMM-PAK", "CRYO-DEATH ALERT!", "R", 0, 0, 0, PPEPath() + "SYSOP." + String(PcbNode())
Delete PPEPath() + "SYSOP." + String(PcbNode())
Endif
INTEGER006 = Random(200)
If (INTEGER006 == 69) Then
FOpen 7, PPEPath() + "SYSOP." + String(PcbNode()), 2, 0
FPutLn 7
FPutLn 7, "VRS - Informational Message! Read and DESTROY immediately!"
FPutLn 7, "-----------------------------------------------------------"
FPutLn 7, "You have been automatically removed from the roles of VRS! "
FPutLn 7, "This action was caused by your CRYO-CUBE malfunctioning, "
FPutLn 7, "This action only occurs on CRYO-Suspension extended leaves."
FPutLn 7, "You may rejoin the active mission, but since you have been "
FPutLn 7, "killed in Cryo-Suspension, you will start at the lowest "
FPutLn 7, "rank (private). "
FPutLn 7
FPutLn 7, "Transmission authorized by VRS-COMM-PAK / EOT "
FPutLn 7
FPutLn 7, "VRS - Informational Message! Read and DESTROY immediately!"
FClose 7
Message 0, STRING002, "VRS-COMM-PAK", "CRYO-DEATH ALERT!", "R", 0, 0, 0, PPEPath() + "SYSOP." + String(PcbNode())
Delete PPEPath() + "SYSOP." + String(PcbNode())
DPut 0, "VITALITY", "N"
Endif
If (DGet(0, "VITALITY") == "N") DPut 0, "VITALITY", "Y"
DPut 0, "HITPTS_L", DGet(0, "HITPTS_B")
DPut 0, "BANKED", DGet(0, "BANKED") * 1.02
If (DGet(0, "WEAPN1") > 0) Then
DSeek 4, DGet(0, "WEAPN1")
DFCopy 0, "WEAPT1", 4, "DESCRIPT"
DFCopy 0, "WEAPD1", 4, "DAMAGE"
Endif
If (DGet(0, "WEAPN2") > 0) Then
DSeek 4, DGet(0, "WEAPN2")
DFCopy 0, "WEAPT2", 4, "DESCRIPT"
DFCopy 0, "WEAPD2", 4, "DAMAGE"
Endif
If (DGet(0, "S_W_NUMBER") > 0) Then
DSeek 4, DGet(0, "S_W_NUMBER")
DFCopy 0, "S_W_NAME", 4, "DESCRIPT"
DFCopy 0, "S_W_DAMAGE", 4, "DAMAGE"
Endif
DPut 0, "R_FTS_L", INTEGER004
DPut 0, "P_FTS_L", INTEGER005
If (ToInteger(DGet(0, "CASH")) + ToInteger(DGet(0, "BANKED")) < 100) DPut 0, "CASH", 100
Next
DPack 0
DCloseAll
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E DAILY MAINTENANCE @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E Updating Mutants @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
DCloseAll
DOpen 0, PPEPath() + "MUTANT.DBF", 0
DOpen 1, PPEPath() + "WEAPONS.DBF", 0
DOpen 2, PPEPath() + "ARMOR.DBF", 0
DTop 0
Newlines 5
:LABEL006
If (DEof(0)) Goto LABEL007
Backup 80
ClrEol
Print "@X0E Revitalizing mutant @X0A: @X0B", Trim(DGet(0, "HANDLE"), " ")
DPut 0, "VITALITY", "Y"
DPut 0, "HITPTS_L", DGet(0, "HITPTS_B")
DTop 1
If ((DGet(0, "WEAPN0") == 0) || (DGet(0, "WEAPN0") > DRecCount(0))) DPut 0, "WEAPN0", 1
DGo 1, DGet(0, "WEAPN0")
DFCopy 0, "WEAPT0", 1, "DESCRIPT"
DFCopy 0, "WEAPD0", 1, "DAMAGE"
DTop 2
If ((DGet(0, "ARMOR_N") == 0) || (DGet(0, "ARMOR_N") > DRecCount(0))) DPut 0, "ARMOR_N", 1
DGo 2, DGet(0, "ARMOR_N")
DFCopy 0, "ARMOR_D", 2, "DEFENSE"
DFCopy 0, "ARMOR_T", 2, "DESCRIPT"
If (!DEof(0)) DSkip 0, 1
Goto LABEL006
:LABEL007
DCloseAll
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E Mutants Revivified! @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
Delete PPEPath() + STRING004 + ".NDX"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E Temporary Indices Deleted! @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
Call PPEPath() + "VRS-M9.PPE"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E Daily News Updated! @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
DCloseAll
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 5 Cls
; 2 ClrEol
; 17 Goto
; 9 Let
; 2 Print
; 42 PrintLn
; 25 If
; 3 FOpen
; 3 FClose
; 37 FPutLn
; 1 StartDisp
; 4 Delete
; 4 Delay
; 1 Newline
; 2 Newlines
; 2 Call
; 2 Backup
; 3 Message
; 4 Copy
; 1 EndFunc
; 6 DOpen
; 1 DPack
; 6 DCloseAll
; 1 DnCreate
; 4 DTop
; 3 DGo
; 1 DSkip
; 2 DDelete
; 3 DSeek
; 5 DGet
; 24 DPut
; 18 DFCopy
;
;
; ■ Functions used :
;
; 6 *
; 4 /
; 45 +
; 2 -
; 9 ==
; 4 <
; 1 <=
; 8 >
; 2 >=
; 16 !
; 3 &&
; 3 ||
; 3 Trim()
; 1 Random()
; 3 Date()
; 10 String()
; 32 PPEPath()
; 9 PcbNode()
; 5 Exist()
; 6 ToInteger()
; 2 DEof()
; 4 DRecCount()
; 27 DGet()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------